//
//  KKBLESend.h
//
//  Created by zorro on 2017/11/13.
//  Copyright © 2017年 zorro. All rights reserved.
//

// 发送的基类,根据不同的协议继承重写, 默认为X9
#import <Foundation/Foundation.h>
#import "KKBLEType.h"
#import "SNUserInfoModel.h"
@interface KKBLESend : NSObject
@property (nonatomic, assign) float bleWaitTime;
@property (nonatomic, assign) BOOL  isSend;
// 2019.05.07
typedef void(^SNImageSendBlock) (NSInteger type,NSInteger all);
typedef void(^SNImageStateBlock) (NSInteger type);
//2019.06.28
typedef void(^UpdateDataEndBlock) ();
@property (nonatomic, strong) SNImageSendBlock imageSendBlock;

@property (nonatomic, strong) NSString *sendPath;
@property (nonatomic, strong) UIImage *screenRGB565Image; // 2019.05.13
// 0为关闭 1位开启
@property (nonatomic, strong) SNImageStateBlock stateBlock;   // 2019.05.07
@property (nonatomic, strong) UpdateDataEndBlock updateDataEndBlock;   // 2019.06.28

// 发送数据
- (void)sendBytes:(UInt8 *)val length:(NSInteger)length block:(KKBLEAcceptBlock)block;
- (void)sendData:(NSData *)data block:(KKBLEAcceptBlock)block;
- (void)resetSendCMD;
- (void)sendCMD;
// 升级指令
- (void)sendUpdateFirmwareWithUpdateBlock:(KKBLEAcceptBlock)block;
//设置时间
- (void)sendSetTimeforDeviceWithUpdate:(KKBLEAcceptBlock)block;
//获取设备mac地址
- (void)sendGetDeviceMacAddress:(KKBLEAcceptBlock)block;
//获取设备基本信息
- (void)sendGetDeviceBasicInfoWithUpdate:(KKBLEAcceptBlock)block;
//设置用户信息
- (void)sendUserInfoSettingWithBlock:(KKBLEAcceptBlock)block;
//实时步数
- (void)sendGetRealStepWithUpdate:(KKBLEAcceptBlock)block;
//记步大数据
- (void)sendBigStepWithUpdate:(KKBLEAcceptBlock)block;
//睡眠大数据
- (void)sendBigSleepWithUpdate:(KKBLEAcceptBlock)block;
//心率大数据
- (void)sendBigheartWithUpdate:(KKBLEAcceptBlock)block;
// 拍照控制
- (void)sendControlTakePhotoState:(BOOL)type WithUpdateBlock:(KKBLEAcceptBlock)block;
// 开关
- (void)sendHeartStatus:(BOOL)status type:(NSInteger)type WithUpdate:(KKBLEAcceptBlock)block;
// 找手环 开启或者关闭
- (void)sendSetFindBle:(BOOL)Find withUpdateBlock:(KKBLEAcceptBlock)block;
// 发送低电 抬腕 防丢 心率检测 翻腕切屏
- (void)sendSetLowElecWithUpdateBlock:(KKBLEAcceptBlock)block;

// 消息推送 电话 短信
- (void)sendSetPushNoticeWithUpdateBlock:(KKBLEAcceptBlock)block;
// 新增推送
- (void)sendSetPushNoticeWithUpdateBlocknew:(KKBLEAcceptBlock)block;
- (void)sendDrinkWithUpdateBlock:(KKBLEAcceptBlock)block;
- (void)sendSedentaryRemindWithUpdateBlock:(KKBLEAcceptBlock)block;
// 闹钟
- (void)sendSetDeviceAlarmClock_KK:(SNAlarmModel *)model
                   withUpdateBlock:(KKBLEAcceptBlock)block;
// 日常提醒
- (void)sendSetDeviceCalendarModel:(SNcalendarModel *)model
                   withUpdateBlock:(KKBLEAcceptBlock)block;
//天气
- (void)sendTemperature;
- (void)sendTemperature2;
//天气 1 2 3
- (void)sendTemperatureParamWithDays:(NSInteger)days withBlock:(KKBLEAcceptBlock)block;
//设备重启
- (void)sendDeviceRebootWithUpdate:(KKBLEAcceptBlock)block;
//免打扰
- (void)sendNotDisturbWithBlock:(KKBLEAcceptBlock)block;
// 步数 睡眠 心率(下拉刷新)
- (void)updateData;
// 系统配对
- (void)sendUserPairWithBlock:(KKBLEAcceptBlock)block;

// 2019.05.07
// 设置设备是否进入高速传输 1表示开启高速通道 2表示关闭
- (void)sendImageData:(BOOL)isChangeImage WithBlock:(KKBLEAcceptBlock)block;

// APP 设置设备是否开启屏保功能 Ox00:保留 0x01:开启 0x02:关闭
- (void)sendScreenImageOpenState:(BOOL)open WithBlock:(KKBLEAcceptBlock)block;

// 2019.05.16
// 获取设备屏保信息
- (void)sendGetDeviceIsCanSetScreenImage:(KKBLEAcceptBlock)block;

// 2019.05.18
// 获取设备支持屏保的字体种类及对应分辨率
- (void)sendGetDeviceScreenSaverFontInfo:(KKBLEAcceptBlock)block;

// APP 设置设备屏保显示【记步】的具体信息  APP 设置设备屏保显示【时间】的具体信息
- (void)sendSetIsShowStepSwitchState:(BOOL)open type:(BLTScreenSendType)type fontColor:(UIColor *)color x:(int)x y:(int)y fontType:(int) fontType withBlock:(KKBLEAcceptBlock)block;

// 功耗问题 2019.05.23
// APP 设置设备实时运动数据的上传方式// 2019.06.04 运动模式
- (void)sendSetRealSportDataType:(BOOL)isBackground block:(KKBLEAcceptBlock)block;

// 2019.06.04 运动模式
- (void)sendSportModeDataWithBlock:(KKBLEAcceptBlock)block;
@end

